"""
测试用例操作步骤：
1、进入百度，输入王长帅
2、点击百度一下
3、点击搜索结果出来的第一个链接
4、清空爱企查输入框
5、输入内容：王长帅榴莲公司
6、点击搜索
7、断言当前 页面内容包含：抱歉，没有找到相关结果…
"""

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.maximize_window() # 全屏
# driver.minimize_window() # 最下化
# 通过ID定位输入框，输入王长帅
sleep(2)
driver.find_element(By.ID,"kw").send_keys("王长帅")
# 通过xpath点击定位
sleep(2)
driver.find_element(By.XPATH,"//*[@id='su']").click()
# 通过xpath点击第一个搜索结果
sleep(2)
driver.find_element(By.XPATH,"//*[@id='1']/div/div[1]/h3/a").click()
# NoSuchElementException 元素找不到的几种原因：
"""
1、元素可能是真的定位不到
换一种定位方式、定位元素
2、可能出现了元素没加载出来，你就去操作，所以定位不到元素
加上时间等待
3、可能是出现了新的句柄，你没有切换，导致定位不到元素
切换句柄为当前的
"""
win = driver.window_handles # 获取全部的句柄
"""
获取句柄：driver.window_handles
收集的其实就是一个列表，想要获取当前的，可以使用索引 -1 来进行切换
"""
driver.switch_to.window(win[-1]) # 切换列表最后一个的句柄进入
# 通过ID ，定位到 爱企查的输入框
sleep(2)
input = driver.find_element(By.ID,"aqc-header-search-input")
# 先清除文本内容
input.clear()
# 再输入内容
sleep(2)
input.send_keys("王长帅榴莲公司")
# 通过class  点击搜索按钮
sleep(2)
driver.find_element(By.CLASS_NAME,"search-btn").click()
# 断言是否用例通过
# step1：获取断言的文本信息
text_result = driver.find_element(By.CLASS_NAME,"text-one").text
assert text_result == "抱歉，没有找到相关结果…"
# 获取浏览器title
print(driver.title)

# 退出浏览器
driver.quit()




